package com.aipartner.service;

import com.aipartner.dto.ChatRequest;
import com.aipartner.dto.ChatResponse;

/**
 * AI服务接口
 * 
 * @author AI伙伴团队
 * @since 2024-01-20
 */
public interface AiService {
    
    /**
     * AI对话
     */
    ChatResponse chat(ChatRequest request);
    
    /**
     * 获取可用的AI模型列表
     */
    java.util.List<AiModelInfo> getAvailableModels();
    
    /**
     * 检查AI模型是否可用
     */
    boolean isModelAvailable(String modelId);
    
    /**
     * AI模型信息
     */
    class AiModelInfo {
        private String id;
        private String name;
        private String description;
        private boolean enabled;
        
        public AiModelInfo(String id, String name, String description, boolean enabled) {
            this.id = id;
            this.name = name;
            this.description = description;
            this.enabled = enabled;
        }
        
        // Getters and Setters
        public String getId() { return id; }
        public void setId(String id) { this.id = id; }
        public String getName() { return name; }
        public void setName(String name) { this.name = name; }
        public String getDescription() { return description; }
        public void setDescription(String description) { this.description = description; }
        public boolean isEnabled() { return enabled; }
        public void setEnabled(boolean enabled) { this.enabled = enabled; }
    }
}
